#ifndef AVALON_COOKIE_HPP
#define AVALON_COOKIE_HPP
#include <string>
#include "Avalon/WebServices/WebServices.hpp"

namespace Avalon {
namespace WebServices {

  /*! \class Cookie
   *  \brief Represents an HTTP cookie.
   *  \author Kamal Mansouri <kranar@hotmail.com>
   */
  class Cookie {
    public:

      //! Constructs an empty.
      Cookie();

      //! Constructs a Cookie.
      /*!
        \param name The name of the Cookie.
        \param value The Cookie's value.
      */
      Cookie(const std::string& name, const std::string& value);

      ~Cookie();

      //! Returns the name of the Cookie.
      const std::string& GetName() const;

      //! Returns the Cookie's value.
      const std::string& GetValue() const;

      //! Returns the string representation of this Cookie.
      std::string ToString() const;

    private:
      std::string m_name;
      std::string m_value;
  };
}
}

#endif // AVALON_COOKIE_HPP
